Parallel Languages/Paradigms:
Charm4py
Parallel programming can be extremely challenging. Many programming models have been proposed to simplify this task, but wide acceptance of these remains elusive for many reasons, including the demand for greater accessibility and productivity.
Charm4py is a parallel programming model and framework based on the Python language. Charm4py builds on Charm++, and runs on top of its C++ runtime. It presents several unique features in the form of a simplified model and API, increased flexibility, and the ability to write everything in Python. Charm4py is a high-level model based on the paradigm of distributed migratable objects. It retains the benefits of the Charm++ runtime, including dynamic load balancing, asynchronous execution model with automatic overlap of communication and computation, high performance, and scalability from laptops to supercomputers. By being Python-based, Charm4py also benefits from modern language features, access to popular scientific computing and data science software, and interoperability with existing technologies like C, Fortran and OpenMP.
See the Charm4py documentation here for more information, as well as the papers/talks below.
Charm4py is a parallel programming model and framework based on the Python language. Charm4py builds on Charm++, and runs on top of its C++ runtime. It presents several unique features in the form of a simplified model and API, increased flexibility, and the ability to write everything in Python. Charm4py is a high-level model based on the paradigm of distributed migratable objects. It retains the benefits of the Charm++ runtime, including dynamic load balancing, asynchronous execution model with automatic overlap of communication and computation, high performance, and scalability from laptops to supercomputers. By being Python-based, Charm4py also benefits from modern language features, access to popular scientific computing and data science software, and interoperability with existing technologies like C, Fortran and OpenMP.
See the Charm4py documentation here for more information, as well as the papers/talks below.
People
Papers/Talks
22-04
2021
[Paper]
[Paper]
Performance Evaluation of Python Parallel Programming Models: Charm4Py and mpi4py [ESPM2 2021]
18-04
2018
[Paper]
[Paper]
CharmPy: A Python Parallel Programming Model [Cluster 2018]